package cn.maihe.elg.operation.model.enums;

/**
 * @Description 保函接口类型
 * @Author WJH
 * @Date 2021/04/19
 */
public enum TradeType {
    //========start=担保公司 提供给中心侧接口
    checkQualification("资格核验接口"),
    lstApply("承保接口"),
    filePush("投保材料地址推送"),
    payUrl("支付地址获取接口"),
    lstSurrend("保函撤销推送接口"),
    inspection("查验接口"),
    checkTrue("验真接口"),
    lstClaim("理赔申请接口"),
    lstCorrect("批改接口"),
    lstDel("订单删除申请"),
    updAgent("业务员代码修改"),

    revokeTemplate("退保模板"),

    //========end=担保公司 提供给中心侧接口

    //====start=中心侧 提供给担保公司接口
    payResultReceive("支付结果通知"),
    bondDownLoad("保函地址接收"),
    guaranteeBackNotice("保函撤销结果接收"),
    claimResultReceive("理赔结果接收"),

    //====end=中心侧 提供给担保公司接口

    baohanapply("投保申请"),
    baohannotice("投保申请结果通知"),
    getbaohaninfo("开函数据获取接口"),
    giveupapply("放弃申请接口"),
    giveupnotice("放弃申请通知接口"),
    quitapply("退保申请接口"),
    quitnotice("退保结果通知接口"),


    claimsnotice("理赔通知接口"),
    claimscancel("理赔取消接口"),
    claimsresultnotice("理赔结果通知接口"),

    guarantee_verification("保函验真"),
    guarantee_check("保函查验即获取保函信息"),

    apply_invoice("申请发票"),


    baohanrestore("还原保函"),
    invoiceapply("发票申请"),
    invoicenotice("发票开具通知"),
    heartbeat("心跳"),

    /**
     * 随行
     */
    apply_guarantee("保函申请订单"),
    revoke_apply_guarantee("撤销保函申请订单"),
    notify_order_status("保函申请订单状态更新"),
    guarantee_give_up("保函放弃申请"),
    guarantee_revoke("保函退保申请"),
    guarantee_revoke_search("保函撤销(解保)查询"),
    guarantee_claim_settlement("保函理赔申请"),
    split_apply_guarantee("分离式的保函申请订单"),
    notify_message("消息通知"),

    /**
     * 国谷
     */
    //===start===信用资产SaaS平台调用金融机构接口
    insure_apply("投保申请推送"),
    restore_notify("保函还原通知"),
    invoice_apply("发票申请推送"),
    cancel_apply("退保申请推送"),
    claim_apply("理赔申请推送"),
    quit_apply("注销申请推送"),
    project_abnormal_apply("项目延期推送"),
    //===end===信用资产SaaS平台调用金融机构接口
    ;
    private String tradeTypeDesc;

    TradeType(String tradeTypeDesc) {
        this.tradeTypeDesc = tradeTypeDesc;
    }

    public String getTradeTypeDesc() {
        return tradeTypeDesc;
    }

    @Override
    public String toString() {
        return String.format("%s:%s", this.name(), getTradeTypeDesc());
    }
}
